The subject matter disclosed herein relates to microprocessor based smart utility meters, and more particularly to methods and systems for the automatic detection of firmware update errors during deployment of firmware on an advanced metering infrastructure.
In microprocessor-based utility meters, or smart meters, a majority of metering functionality is implemented in firmware. In general, the firmware of a system is the software that is stored in read-only memory and contains routines such as the start up routines and low-level input/output routines. In the lifetime of a microprocessor-based smart utility meter, new versions of firmware may be released to fix bugs, add new features, enhance functionality, etc. Utility companies can update smart meter firmware over an advanced metering infrastructure (AMI) network by designating an AMI host to send smart meter firmware update data to a plurality of smart meters on the AMI network. Generally, after a smart meter receives an update and boots up, it performs self-tests and logs errors that may have occurred during the update process. An AMI host receives the error information and, depending on the severity of the errors, may send a command to the meter to rollback and to reboot itself with an old firmware image, for example, when the new firmware update is unsuccessful. However, the firmware running on the microprocessor of a smart meter may also define the meter's AMI communication functionality. Thus, if an error occurs in the firmware update that would inhibit a meter's AMI functionality, a meter may not be able to send error information to a host or receive the rollback command from the host, resulting in the corrupted firmware remaining present on the meter.